Skip to content

Cronメッセージ

aoには、指定した間隔でメッセージを生成する機能があります。この間隔は、秒、分、時間、またはブロック単位で設定できます。これらのメッセージは、監視プロセスによって自動的に評価され、時間の経過とともにプロセスがこれらのメッセージを評価するように通知します。その結果、リアルタイムで全aoネットワークや外部ネットワークのオラクルと通信できるプロセスが実現されます。

プロセスでのcronの設定

これらのcronメッセージを作成する最も簡単な方法は、aosコンソールで新しいプロセスを生成し、時間間隔を定義することです。

sh
aos [myProcess] --cron 5-minutes

新しいプロセスを生成する際、コマンドラインでcron引数を指定し、その後にcronの間隔を設定します。メッセージをリアルタイムでトリガーしたい場合は、モニターイベントを開始する必要があります。aosでは、単に.monitorを呼び出すことで、mu上でワーカープロセスが開始され、cuからcronメッセージがトリガーされます。その後、プロセスは指定したx-intervalごとにcronメッセージを受信します。

lua
.monitor

cronメッセージのトリガーを停止したい場合は、単に.unmonitorを呼び出すだけでトリガープロセスが停止します。ただし、次回メッセージを送信すると、生成されたcronメッセージは依然として作成され、処理されます。

cronメッセージの処理

すべてのcronメッセージには、値がCronActionタグが付いています。Handlersを定義して、cronメッセージが受信されるたびに自律的に特定のタスクを実行させることができます。

lua
Handlers.add(
  "CronTick", -- handler name
  Handlers.utils.hasMatchingTag("Action", "Cron"), -- handler pattern to identify cron message
  function () -- handler task to execute on cron message
    -- do something
  end
)

Cronメッセージは、広範な機能を持つ「自律型エージェント」を作成するために使用できる強力なユーティリティです。